# 给定一个字符串，验证它是否是回文串，只考虑字母和数字字符，可以忽略字母的大小写。
#
#  说明：本题中，我们将空字符串定义为有效的回文串。
#
#
#
#  示例 1:
#
#
# 输入: "A man, a plan, a canal: Panama"
# 输出: true
# 解释："amanaplanacanalpanama" 是回文串
#
#
#  示例 2:
#
#
# 输入: "race a car"
# 输出: false
# 解释："raceacar" 不是回文串

class Solution:
    def isPalindrome(self, s):
        result=[]
        for i in s:
            if i.isalpha() or i.isdigit():
                result.append(i.lower())
        result=''.join(result)
        print(result)
        left=0
        right=len(result)-1
        while left < right:
            if result[left] ==result[right]:
                left += 1
                right-=1
            else:
                return False
        return True




s='race a car'
print(Solution().isPalindrome(s))